package com.alibaba.algo.components.yapi.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.alibaba.algo.components.yapi.enums.ContentTypEnum;

/**
 * @Description: api方法注解
 * @author: malin
 * @date: 2020-11-20 16:28:12
 */
@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiOperation {
	/** 接口名称 */
	String name();

	/** contentType 默认空 */
	ContentTypEnum contentType() default ContentTypEnum.JSON;

	/** 返回值类型 */
	Class<?> response() default Void.class;

	/** 是否是分页返回 */
	boolean isPaged() default false;

	/** 返回值是否是List */
	boolean isList() default false;

	/** 接口分类名称 如果为空则取API注解的接口分类名称 */
	String catName() default "";

	/** 请求方式 如果为空则取方法上的 */
	String httpMethod() default "";

}
